1. Field of the Invention
The present invention relates to a data restoring apparatus and method or more particularly to an apparatus and method for restoring data when an abnormality, such as a system failure, occurs in a data processing system due to for example a power failure, a power surge from a thunder storm, etc.
Recently, a data processing system, such as computer-aided design (CAD) system which deals with electronic circuit design and cartography, for example, is wide-spread or popular in a great variety of fields or professions. A CAD system, for example, performs large-scale and sophisticated data processing on an enormous volume of data. Therefore, if an abnormality occurs, the enormous volume of data must be restored properly. Currently, however, this restoration process requires much time. Accordingly, a data restoring apparatus which can properly and quickly restore data when an abnormality occurs, is in great demand.
2. Description of the Related Art
FIG. 1 shows a CAD system illustrating related art.
A main controller 4 performs a basic function for controlling the CAD system, for example. That is, the main controller 4 controls input/output (hereinafter abbreviated as I/O) units such as a keyboard, mouse, tablet, plotter and display unit. It performs such operations as drawing a picture (e.g., a dot and circle), duplicating and deleting data, and moving and rotating a picture. The main controller 4 also performs such backup processing as copying the geometry data edited by a sub-controller 3 into a log file 5. Since the CAD system involves an enormous volume of geometry data for expressing or configuring electronic circuitry, such as a map, etc., the sub-controller 3 is provided for exclusively controlling a work file 1 and a control table 2, to release or alleviate the main controller 4 from the heavy load of processing such an enormous volume of data. When a CAD system is aimed for mounting integrated circuits (ICs) and their connections on a printed wiring board, for example, the work file 1 stores geometry data, e.g., data expressing a top plan view of ICs. The control table 2 stores control data for specifying the relation of the geometry data items, e.g., data specifying a connection from one IC pin to another IC pin). This control data is much smaller in volume compared with the drawing or geometry data.
The CAD processing is started or initiated by loading initial geometry data and initial control data in the work file 1 and the control table 2, respectively, and is proceeded with sequentially executing a command which is a program specifying such operations as drawing a line between two designated points or changing a drawing. When a command is executed, geometry data in the work file 1 and/or control data in the control table 2 are updated as required.
When a system failure occurs during execution of a command, it is necessary to restore the geometry data and the control data properly, in order to restart the processing successfully. A log file 5 is provided, connected to the main controller 4, for this purpose.
A first category of related art restores geometry data and control data as follows:
Each time the geometry data in the work file 1 is to be updated as a result of executing a command, the data is saved in the log file 5 as backup data, before it is updated. When a system failure occurs in the process of executing a command, the geometry data is restored in the work file 1 by transferring the geometry data stored in log file 5 as backup data to the work file location. Then, the processing is restarted from the very beginning by using the thus-restored geometry data and the initial control data. However, a problem is that it usually takes quite a long time before restarting the processing interrupted by a system failure because all the commands, which were executed from the beginning until the system failure occurs, must be re-executed. This re-execution of commands requires much processing time.
A second category of related art reduces the number of commands to be re-executed and, therefore, the time the first related art takes for re-executing the commands is as follows:
A plurality of checkpoints are provided in the program (or between a group of commands). When a checkpoint is encountered in the process of executing the program, the control data at that point and all the geometry data in the work file 1, both of which data reflect the result of processing performed hitherto, are saved in the log file 5. Then, the program is resumed.
When a system failure occurs, the control data and all the geometry data is restored in the control table 2 and work file 1, respectively. Then, processing is restarted from the checkpoint. Thus, the time the first related art requires for re-executing commands can be reduced because only the commands, which were executed from the checkpoint until a system failure occurs, need be-re-executed. However, a problem in this case is that it takes quite a long time and the log file 5 requires a large storage capacity because all the large volume of geometry data need be saved and restored to and from the log file 5.